home *** CD-ROM | disk | FTP | other *** search
- PROGRAM quicklabel ; { By David Lindsley }
-
- CONST
- {$I GEMCONST.PAS}
-
- TYPE
- {$I gemtype.pas}
- Txtfile = File of Text;
- Adrptr = ^Adrlist;
- Adrlist =
- RECORD
- FirstLine: Str255;
- SecondLine: Str255;
- ThirdLine: Str255;
- FourthLine: Str255;
- END;
-
- VAR
- status : long_integer;
- dialog, Info_Box, Style_box : Dialog_Ptr ;
- a, b,c, d, e, f, g, res, dummy,
- info_btn, print_btn, cancel_btn, size_btn,
- first_item, second_item, third_item, fourth_item : integer ;
- alert_str : Str255 ;
- Adrfile: Txtfile;
- Adrs : Adrptr;
- button : Tree_Index;
- flag, tall_flag, wide_flag, bold_flag, cond_flag,
- italic_flag, normal_flag : Boolean;
-
- {$I gemsubs}
-
- FUNCTION printout_stat : long_integer;
- GEMDOS($11);
-
- FUNCTION getrez : integer;
- XBIOS( 4 );
-
- PROCEDURE styledialog ;
-
- VAR
- button, ok_btn, style_item, wide_btn,
- tall_btn, italic_btn, bold_btn,
- cond_btn, normal_btn : integer ;
-
- BEGIN
- Style_Box := New_Dialog ( 15, 0, 0, 36, 18 ) ;
- style_item := Add_DItem(Style_Box, G_Text, None, 11, 1, 15, 1, 0, $1180);
- Set_DText (Style_Box, style_item, '*** STYLE ***', System_Font,
- TE_Center ) ;
- wide_btn := Add_DItem(Style_Box, G_Button, Touch_Exit,
- 5, 4, 11, 2, 1, $1180 );
- Set_DText ( Style_Box, wide_btn, 'Wide', System_Font, TE_Center );
- Obj_SetState(Style_Box, wide_btn, 0, false );
- if wide_flag then
- obj_SetState(Style_box, wide_btn, 4, false );
-
- tall_btn := Add_DItem ( Style_Box, G_Button, Touch_Exit,
- 5, 7, 11, 2, 1, $1180) ;
- Set_DText ( Style_Box, tall_btn, 'Tall', System_Font, TE_Center );
- Obj_SetState(Style_Box, tall_btn, 0, false );
- if tall_flag then
- obj_SetState(Style_Box, tall_btn, 4, false );
- italic_btn := Add_DItem( Style_Box, G_Button, Touch_Exit,
- 20, 4, 11, 2, 1, $1180);
- Set_DText ( Style_Box, italic_btn, 'Italic',System_Font, TE_Center );
- Obj_SetState(Style_Box, italic_btn, 0, false );
- if italic_flag then
- obj_SetState(Style_Box, italic_btn, 4, false );
- bold_btn := Add_DItem ( Style_Box, G_Button, Touch_Exit,
- 20, 7, 11, 2, 1, $1180);
- Set_DText ( Style_Box, bold_btn, 'Bold', System_Font, TE_Center );
- Obj_SetState(Style_Box, bold_btn, 0, false );
- if bold_flag then
- obj_SetState(Style_Box, bold_btn, 4, false );
- cond_btn := Add_DItem ( Style_Box, G_Button, Touch_Exit,
- 20, 10, 11, 2, 1, $1180);
- Set_DText ( Style_Box, cond_btn, 'Condensed',System_Font, TE_Center );
- Obj_SetState(Style_Box, cond_btn, 0, false );
- if cond_flag then
- obj_SetState(Style_Box, cond_btn, 4, false );
- normal_btn := Add_DItem( Style_Box,G_Button, Touch_Exit,
- 5, 10, 11, 2, 1, $1180);
- Set_DText ( Style_Box, normal_btn, 'Normal', System_Font, TE_Center );
- Obj_SetState(Style_Box, normal_btn, 0, false );
- if normal_flag then
- obj_SetState(Style_Box, normal_btn, 4, false );
- ok_btn := Add_DItem( Style_Box, G_Button, Selectable|Exit_Btn|Default,
- 13, 15, 11, 2, 2, $1180 ) ;
- Set_DText (Style_Box, ok_btn, 'Okay', System_Font, TE_Center ) ;
- Center_Dialog ( Style_Box) ;
- button := Do_Dialog ( Style_Box, 0 ) ;
- while (button=wide_btn) or (button=tall_btn) or (button=normal_btn)
- or (button=italic_btn) or (button=bold_btn) or (button=cond_btn)
- do begin
- IF button = wide_btn THEN
- BEGIN
- a := obj_state(Style_Box, wide_btn);
- if a=4 then begin
- obj_setstate(Style_box, wide_btn, 0, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(87), chr(0));
- end;
- if a <> 4 then begin
- g := obj_state(Style_Box, normal_btn);
- if g=4 then begin
- obj_setstate(Style_box, normal_btn, 0, true );
- end;
- obj_setstate(Style_box, wide_btn,4, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(87), chr(1));
- end;
- END;
- IF button = tall_btn THEN
- BEGIN
- b := obj_state(Style_Box, tall_btn);
- if b=4 then begin
- obj_setstate(Style_box, tall_btn, 0, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(28), chr(86), chr(0));
- { for Epson: chr(27), chr(104),chr(0) }
-
- end;
- if b <> 4 then begin
- g := obj_state(Style_Box, normal_btn);
- if g=4 then begin
- obj_setstate(Style_box, normal_btn, 0, true );
- end;
- obj_setstate(Style_box, tall_btn,4, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(28), chr(86), chr(1));
- { for Epson: chr(27), chr(104), chr(1)) }
- end;
- END;
- IF button = italic_btn THEN
- BEGIN
- d := obj_state(Style_Box, italic_btn);
- if d=4 then begin
- obj_setstate(Style_box, italic_btn, 0, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(53));
- end;
- if d <> 4 then begin
- g := obj_state(Style_Box, normal_btn);
- if g=4 then begin
- obj_setstate(Style_box, normal_btn, 0, true );
- end;
- obj_setstate(Style_box, italic_btn,4, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(52));
- end;
- END;
- IF button = bold_btn THEN
- BEGIN
- e := obj_state(Style_Box, bold_btn);
- if e=4 then begin
- obj_setstate(Style_box, bold_btn, 0, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(72));
- end;
- if e <> 4 then begin
- g := obj_state(Style_Box, normal_btn);
- if g=4 then begin
- obj_setstate(Style_box, normal_btn, 0, true );
- end;
- obj_setstate(Style_box, bold_btn,4, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(71));
- end;
- END;
- IF button = cond_btn THEN
- BEGIN
- f := obj_state(Style_Box, cond_btn);
- if f=4 then begin
- obj_setstate(Style_box, cond_btn, 0, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(18));
- end;
- if f <> 4 then begin
- g := obj_state(Style_Box, normal_btn);
- if g=4 then begin
- obj_setstate(Style_box, normal_btn, 0, true );
- end;
- obj_setstate(Style_box, cond_btn,4, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(15));
- end;
- END;
- IF button = normal_btn THEN
- BEGIN
- g := obj_state(Style_Box, normal_btn);
- if g=4 then begin
- obj_setstate(Style_box, normal_btn, 0, true );
- end;
- if g <> 4 then begin
- a := obj_state(Style_Box, wide_btn);
- b := obj_state(Style_Box, tall_btn);
- d := obj_state(Style_Box, italic_btn);
- e := obj_state(Style_Box, bold_btn);
- f := obj_state(Style_Box, cond_btn);
- if a=4 then begin
- obj_setstate(Style_box, wide_btn, 0, true );
- end;
- if b=4 then begin
- obj_setstate(Style_box, tall_btn, 0, true );
- end;
- if d=4 then begin
- obj_setstate(Style_box, italic_btn, 0, true );
- end;
- if e=4 then begin
- obj_setstate(Style_box, bold_btn, 0, true );
- end;
- if f=4 then begin
- obj_setstate(Style_box, cond_btn, 0, true );
- end;
- obj_setstate(Style_box, normal_btn,4, true );
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(64));
- end;
- END;
- button := Redo_Dialog (Style_Box,0);
- end;
- if button = ok_btn then begin
- a := obj_state(Style_box, wide_btn);
- if a = 4 then
- wide_flag := true;
- if a <> 4 then
- wide_flag := false;
-
- b := obj_state(Style_box, tall_btn);
- if b = 4 then
- tall_flag := true;
- if b <> 4 then
- tall_flag := false;
-
- d := obj_state(Style_box, italic_btn);
- if d = 4 then
- italic_flag := true;
- if d <> 4 then
- italic_flag := false;
-
- e := obj_state(Style_box, bold_btn);
- if e = 4 then
- bold_flag := true;
- if e <> 4 then
- bold_flag := false;
-
- f := obj_state(Style_box, cond_btn);
- if f = 4 then
- cond_flag := true;
- if f <> 4 then
- cond_flag := false;
-
- g := obj_state(Style_box, normal_btn);
- if g = 4 then
- normal_flag := true;
- if g <> 4 then
- normal_flag := false;
- end;
-
- End_Dialog ( Style_Box ) ;
- END ;
-
- PROCEDURE infodialog ;
-
- VAR
- button, ok_btn, more_btn, info_item : integer ;
-
- BEGIN
- Info_Box := New_Dialog ( 15, 0, 0, 40, 19 ) ;
- Info_item := Add_DItem ( Info_Box, G_Text, None, 2, 1, 36, 1, 0, $1180) ;
- Set_DText( Info_Box, Info_item, 'QUICK LABEL PROGRAM', System_Font,
- TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 3, 36, 1, 0, $1180 );
- Set_DText ( Info_Box, info_item, 'by David Lindsley', Small_Font,
- TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 5, 36, 1, 0, $1180 );
- Set_DText ( Info_Box, info_item, '* Use TAB or arrow keys', System_Font,
- TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 6, 36, 1, 0, $1180) ;
- Set_DText ( Info_Box, info_item,'to advance to next line.',System_Font,
- TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 8, 36, 1, 0, $1180) ;
- Set_DText ( Info_Box, info_item, '* Use RETURN or "PRINT" button',
- System_Font, TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 9, 36, 1, 0, $1180);
- Set_DText ( Info_Box, info_item, 'to print label.',
- System_Font, TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 11, 36, 1, 0, $1180);
- Set_DText ( Info_Box, info_item, '* Use ESC key to clear line.',
- System_Font, TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 14, 36, 1, 0, $1180);
- Set_DText ( Info_Box, info_item, 'Portions of this program copyright',
- Small_Font, TE_Center ) ;
- info_item := Add_DItem ( Info_Box, G_Text, None, 2, 15, 36, 1, 0, $1180);
- Set_DText ( Info_Box, info_item,
- 'OSS and CCD. Used by permission',
- Small_Font, TE_Center ) ;
- ok_btn := Add_DItem ( Info_Box, G_Button, Selectable|Exit_Btn|Default,
- 16, 17, 8, 1, 2, $1180 ) ;
- Set_DText ( Info_Box, ok_btn, 'OKAY', System_Font, TE_Center ) ;
- Center_Dialog ( Info_Box) ;
- button := Do_Dialog ( Info_Box, 0 ) ;
- End_Dialog ( Info_Box ) ;
- END ;
-
-
- PROCEDURE Set_Up_Dialog;
-
- BEGIN
- dialog := New_Dialog( 15, 0, 0, 52, 14 ) ;
- dummy := Add_DItem( dialog, G_Box, None, 0, 0, 52, 14, 2, $1121 );
- dummy := Add_DItem( dialog, G_BoxText, None, 6, 1, 40, 2, 1, $1180 );
- Set_DText(dialog, dummy, 'QUICK LABEL PROGRAM' ,System_Font, TE_Center );
- dummy := Add_DItem( dialog, G_BoxText, None, 6, 3, 40, 1, 1, $1180 );
- Set_DText( dialog, dummy, 'by David Lindsley', Small_Font, TE_Center );
- first_item := Add_DItem( dialog, G_FText,Editable, 9, 6, 32, 1, 0, $1180 );
- Set_DEdit( dialog, first_item, '________________________________',
- 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', '', System_Font, TE_Center );
- second_item := Add_Ditem(dialog, G_FText, Editable, 9, 7, 32, 1, 0, $1180);
- Set_DEdit( dialog, second_item, '________________________________',
- 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', '', System_Font, TE_Center );
- third_item := Add_DItem( dialog, G_FText, Editable, 9, 8, 32, 1, 0, $1180);
- Set_DEdit( dialog, third_item, '________________________________',
- 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', '', System_Font, TE_Center );
- fourth_item := Add_DItem(dialog, G_FText, Editable, 9, 9, 32, 1, 0, $1180);
- Set_DEdit( dialog, fourth_item, '________________________________',
- 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX','',System_Font,TE_Center );
- print_btn := Add_DItem( dialog, G_Button, Selectable|Exit_Btn|Default,
- 5, 12, 8, 1, 1, $1180 ) ;
- Set_DText( dialog, print_btn, 'PRINT', System_Font, TE_Center ) ;
- cancel_btn := Add_DItem( dialog, G_Button, Selectable|Exit_Btn,
- 35, 12, 8, 1, 1, $1180 ) ;
- Set_DText( dialog, cancel_btn, 'QUIT', System_Font, TE_Center ) ;
- info_btn := Add_DItem(dialog, G_Button, Selectable|Touch_Exit,
- 15, 12, 8, 1, 1, $1180 );
- Set_DText( dialog, info_btn, 'INFO', System_Font, TE_Center );
- size_btn := Add_DItem(dialog, G_Button, Selectable|Touch_Exit,
- 25, 12, 8, 1, 1, $1180 );
- Set_DText( dialog, size_btn, 'STYLE' , System_Font, TE_Center );
-
-
- END;
-
- PROCEDURE LPrint(P:Adrptr);
-
-
- BEGIN
- status := printout_stat;
- if status = 0 then begin
- dummy := do_alert('[3][ | | Turn the printer on.][ OK ]',1);
- end;
- Rewrite(Adrfile,'PRN:' ); { OPEN UP PRINTER }
- Writeln(Adrfile,P^.FirstLine);
- Writeln(Adrfile,P^.SecondLine);
- Writeln(Adrfile,P^.ThirdLine);
- Writeln(Adrfile,P^.Fourthline);
- Writeln(Adrfile); { blank line }
- Writeln(Adrfile); { blank line }
- END;
-
-
- PROCEDURE Show_Box(P:Adrptr);
- BEGIN
- REPEAT
- Center_Dialog( dialog ) ;
- Obj_SetState(dialog,print_btn,Normal, False );
- Obj_SetState(dialog,info_btn, Normal, False );
- Obj_SetState(dialog,cancel_btn,Normal,False );
- Obj_SetState(dialog,size_btn,Normal,False );
- Set_DText (dialog,first_item,P^.FirstLine,System_Font, TE_Left);
- Set_DText (dialog,second_item,P^.SecondLine,System_Font, TE_Left);
- Set_DText (dialog,third_item,P^.ThirdLine,System_Font, TE_Left);
- Set_DText (dialog,fourth_item,P^.FourthLine,System_Font, TE_Left);
- button := Do_Dialog( dialog, first_item ) ;
- IF (button<>cancel_btn ) THEN
- BEGIN
- Get_DEdit(dialog,first_item,P^.FirstLine);
- Get_DEdit(dialog,second_item,P^.SecondLine);
- Get_DEdit(dialog,third_item, P^.ThirdLine);
- Get_DEdit(dialog,fourth_item,P^.FourthLine);
- END;
- IF button = print_btn THEN
- BEGIN
- LPrint(P)
- END;
- IF button = info_btn THEN
- BEGIN
- infodialog;
- END;
- IF button = size_btn THEN
- BEGIN
- styledialog;
- END;
- IF button = cancel_btn THEN
- BEGIN
- b:= do_alert('[1][ | |You pressed the QUIT button][I know|oops]',1);
- IF b = 1 THEN
- BEGIN
- flag := TRUE;
- END;
- END;
- UNTIL (flag = TRUE) OR (P = NIL);
-
- d := do_alert('[2][Return printer to default mode?][ YES | NO ]',1);
- if d = 1 then begin
- Rewrite(Adrfile, 'PRN:');
- Write(Adrfile, chr(27), chr(64));
- end;
- END;
-
-
- BEGIN
- IF Init_Gem >= 0 THEN
- BEGIN
- init_mouse;
- res := getrez;
- if res = 0 then
- BEGIN
- dummy:=do_alert('[3][ | | Does not support Low Resolution][ ok ]',1);
- halt;
- END;
- status := printout_stat;
- if status = 0 then begin
- dummy := do_alert('[3][ | | Turn the printer on.][ OK ]',1);
- end;
- Set_Mouse( M_Point_Hand );
- Set_Up_Dialog;
- New(Adrs);
- Adrs^.FirstLine := '';
- Show_Box(Adrs);
- Exit_Gem ;
- END;
- END.
-